// function sum(x: number, y: number): number {
//   return x + y
// }
// // 函数表达式（Function Expression）
// let mySum: (x: number, y: number) => number = function (
//   x: number,
//   y: number
// ): number {
//   return x + y
// }
// let mySum1: (x: number, y: number) => number
// mySum = (x: number, y: number): number => {
//   return x + y
// }
// // 了解:使用接口表示函数
// interface Ifun {
//   (x: number, y: number): number
// }
// let mySum2: Ifun = (x: number, y: number): number => {
//   return x + y
// }
// 可选参数 y  注意: 可选参数,必须在必填参数的后面
// function sum(x: number, y?: number, z?: number): number {
//   return x + y
// }
// sum(1, 2)
// 参数默认值
// function sum(x: number = 1, y: number): number {
//   return x + y
// }
// sum(2, 3)
// sum(undefined, 3) //注意: 实参传参给形参是按照顺序传递,一定要占位置
// 剩余参数
// function fn(x: number, ...args: any[]) {
//   console.log(x, args)
// }
// fn(1, 2, 3, 4)
// function reverse(x: number): number
// function reverse(x: string): string
function reverse(x) {
    if (typeof x === 'number') {
        return Number(x.toString().split('').reverse().join(''));
    }
    else if (typeof x === 'string') {
        return x.split('').reverse().join('');
    }
}
reverse('123').trim();
reverse(123).toFixed();
